在 Elixir 中,计算被视为一系列 基础函数式变换。数据是不可变的,而 = 操作符并非用于赋值,而是用于 模式匹配。
1. 匹配操作符
匹配允许你将值绑定到模式上。如果左侧结构与右侧不匹配,变换就会失败。Elixir 使用专用操作符来处理数据流:算术运算(+, -, *, /),比较运算(===, !==, >=),以及连接运算(<> 用于字符串, ++ 用于列表)。
2. 'with' 表达式
该 with 表达式协调多步骤变换,其成功取决于条件。它允许使用 <-进行链式匹配。与匹配操作符 =不同,如果在 <- 中匹配失败,表达式会返回未匹配的值,而不是抛出错误。
3. 作用域与语法
在底层, with 被当作宏或函数调用处理。其中绑定的变量不会泄露到外部作用域。例如语法 mean = with count = ..., do: sum/count 是以表达式方式计算派生值的正确方法。
$$\text{均值} = \frac{\sum_{i=1}^{n} x_i}{n}$$
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>